As is well known, systems for measuring the periods of periodic and quasi-periodic signals have many useful applications. For example, such systems are useful for measuring the angular velocity of rotating machinery. Such systems are also useful in the medical arts for measuring biorhythmic parameters of a patient such as the heart beat, and such systems also have many other applications.
The well known autocorrelation function is often used to measure the periodic content of signals. The autocorrelation function has many well known mathematical properties and formulations (as are described in detail for example in Oppenheim & Schafer, Discrete Time Signal Processing, Prentice Hall Signal Processing Series, 1989) and one example of a formula for generating the autocorrelation function is given by Equation (1) ##EQU1## in which v(t) is an input signal and ACF(.tau.) is the autocorrelation function of the input signal. Similar formulas are also well known for generating the autocorrelation function from a discrete sampled input signal v(n). As can be seen from Equation (1), for each value of .tau., the autocorrelation function may be thought of as a product of the input signal v(t) with a copy of itself that has been delayed in time by an amount .tau.. The autocorrelation function is thus a function of this delay, and the variable .tau. is often referred to as the "delay" or the "lag".
The autocorrelation function has a peak value for .tau. equal to zero, and if the input signal v(t) is periodic with a period of T, then the autocorrelation function will also have peak values for .tau. equal to integer multiples of T. The period of the input signal v(t) may therefore be determined by locating the peaks of the autocorrelation function, since the peaks are spaced apart by an amount of lag equal to the period T, and further, the location of the first peak for .tau. greater than zero (i.e., at .tau.=T) is representative of the period.
The averaging properties of the autocorrelation function make it particularly useful for determining the period of signals having relatively low signal-to-noise ratios. Even if the input signal has a low signal-to-noise ratio, the autocorrelation function will still have peaks at values of .tau. equal to integer multiples of T, since for these values all the periodic components of the input signal "line up" coherently and make a large contribution to the autocorrelation function, whereas the noise components which are generally random and therefore do not line up coherently make a comparatively smaller contribution to the autocorrelation function. However, the presence of noise may introduce "false" peaks and may also reduce the amplitude of the "true" peaks (i.e., the peaks that are representative of the periodic content of the signal).
The autocorrelation function has many advantageous idealized mathematical properties, however, several problems are encountered when implementing systems which use the autocorrelation function to measure the periodic content of "real world" naturally occurring signals. One such problem relates to the size of the interval over which data is collected to compute the autocorrelation function. Generally, it is never practical to approach an infinitely long data collection interval, e.g., in Equation (1) WIDTH is generally set to a large constant rather than being allowed to approach infinity. Using a finite data collection interval destroys some of the desirable statistical properties of the autocorrelation function. However, as long as the data collection interval is chosen to be relatively large so that the autocorrelation function is computed using many periods of the input signal, the autocorrelation function still provides relatively good noise rejection (i.e., the false peaks have relatively low amplitude) and the peaks in the autocorrelation function will still correspond to the period of the input signal. However in general, as the size of the data collection interval decreases, the autocorrelation function becomes increasingly sensitive to noise, and the confidence that any peak in the autocorrelation function actually corresponds to the period of the input signal decreases.
Another problem with the autocorrelation function relates to the quasi-periodic nature of most signals of interest. Very few signals occurring in the real world are perfectly periodic. Rather, most signals that are considered to be periodic, such as a signal representative of a heart rate, have periods that actually vary over time, and are therefore quasi-periodic signals. Provided that the deviation from periodicity in a signal is not too extreme, it is meaningful to consider a quasi-periodic signal as having a period which is variable in time. It is often desirable to be able to measure the instantaneous value of the period of a quasi-periodic signal. For example, it is desirable for a heart monitor to continuously display the instantaneous value of the heart rate and to track the heart rate as it varies over time. However, since the autocorrelation function is generated essentially by an averaging process, autocorrelation functions generated using large data collection intervals are not well suited to making such instantaneous measurements.
Quasi-periodic signals may be characterized by a parameter referred to as the "coherence time" which describes the time required for a signal to change its frequency and phase information. The coherence time is reflected in the autocorrelation function of a quasi-periodic signal. The peak at zero lag (i.e., .tau.=0) is the strongest, or maximum amplitude, peak in the autocorrelation function of a quasi-periodic signal. Successive peaks at increasing multiples of the period are increasingly weaker, and as the lag value approaches the coherence time, the peaks in the autocorrelation function approach the "noise floor" generated by the non-periodic components of the signal and the noise. Further, the peaks in the autocorrelation function of a quasi-periodic signal, apart from the zero lag peak, are both broadened and diminished in amplitude by the variability in the period as compared to the peaks in the autocorrelation function of a truly periodic signal. Generating the autocorrelation function is essentially an averaging process, and the peaks in the autocorrelation function of a quasi-periodic signal essentially represent an average over the data collection interval of the signal's time-varying period, and are therefore not representative of the instantaneous value of the period.
Since the peaks of the autocorrelation function represent an average of the period of the signal over the data collection interval, one way to make the peaks more representative of the instantaneous value of the period is to decrease the size of the data collection interval. However, as was discussed above, the autocorrelation function becomes increasingly sensitive to noise as the size of the data collection interval is decreased. There is therefore a tradeoff between noise rejection and the ability to measure the instantaneous value of the period when using the autocorrelation function.
Another problem with quasi-periodic signals, such as signals representative of a heart rate, is that the periodic components of these signals sometimes vanish for several periods and then reestablish themselves. Such occurrences are commonly referred to as "data dropout", and autocorrelation functions computed over relatively small data collection intervals are particularly sensitive to such data dropouts.
In general, prior art systems which use the autocorrelation function to measure the instantaneous value of the period of a quasi-periodic signal include a peak detector for locating peaks in the autocorrelation function. However, due to the problems discussed above, as well as other problems, the locations of the peaks do not correspond exactly to the instantaneous value of the period. Prior art systems therefore generally employ several ad hoc techniques to convert the location of the peaks to an estimate of the period. However, such ad hoc techniques are generally ineffective at remedying the shortcomings of the autocorrelation function. There is therefore a need for improved systems and techniques for accurately estimating the instantaneous value of the period of a quasi-periodic signal.